package installer

import (
	"os"
	"path/filepath"

	"go.uber.org/zap"
)

// cleanupFiles 清理临时文件
// 示例值: backupDir="/tmp/ssh-backup"
func cleanupFiles(backupDir string) error {
	zap.L().Info("清理临时文件")

	// 清理备份目录
	if _, err := os.Stat(backupDir); err == nil {
		if err := os.RemoveAll(backupDir); err != nil {
			zap.L().Warn("清理备份目录失败", zap.Error(err))
		} else {
			zap.L().Info("备份目录清理完成", zap.String("backupDir", backupDir))
		}
	}

	// 清理临时解压目录
	tempDirs, _ := filepath.Glob("/tmp/openssh-extract*")
	for _, dir := range tempDirs {
		if err := os.RemoveAll(dir); err != nil {
			zap.L().Warn("清理临时目录失败", zap.String("dir", dir), zap.Error(err))
		} else {
			zap.L().Info("临时目录清理完成", zap.String("dir", dir))
		}
	}

	zap.L().Info("清理完成")
	return nil
}
